package model

import "time"

/**
 * @desc 我的消息
 * @author feige
 * @date 2023-11-15
 * @version 1.0
 */
type MessageMe struct {
	Id          int       `orm:"column(id);pk;auto;description(主键)" json:"id"`                      // 主键
	UserId      uint64    `json:"userId"`                                                           //接受消息的用户ID
	Msg         string    `json:"msg"`                                                              //消息的内容
	Mark        int       `json:"mark"`                                                             //0未读 1已读
	CreateTime  time.Time `orm:"auto_now_add;type(timestamp);description(创建时间);" json:"createTime"` // 创建时间
	UpdateTime  time.Time `orm:"auto_now;type(timestamp);description(更新时间);" json:"updateTime"`     // 更新时间
	Mtype       int       `json:"mtype"`                                                            // 类型 1：注册 2：升级会员 3：购买课程 4：购买专题 5：栏目  6：登录通知  7：简历  8：简历模板 9学习币
	Url         string    `json:"url"`                                                              //跳转地址
	Uuid        string    `json:"uuid"`                                                             // 用户UID
	Opid        uint64    `json:"opid"`                                                             //课程ID,文章ID
	Ip          string    `json:"ip"`                                                               // ip地址
	Os          string    `json:"os"`                                                               // 操作系统
	Browser     string    `json:"browser"`                                                          // 浏览器
	Title       string    `json:"title"`                                                            //标题
	Cover       string    `json:"cover"`                                                            //封面
	Avatar      string    `json:"avatar"`                                                           // 用户头像
	Username    string    `json:"username"`                                                         //用户名
	Description string    `json:"description"`                                                      //描述
	SystemId    uint64    `json:"systemId"`                                                         // 系统编号
	SystemName  string    `json:"systemName"`                                                       // 系统名称`
}

func (u *MessageMe) TableName() string {
	return "xk_msg_me"
}

/**
 * @desc 系统消息
 * @author feige
 * @date 2023-11-15
 * @version 1.0
 */
type MessageSystem struct {
	Id         int       `orm:"column(id);pk;auto;description(主键)" json:"id"`                      // 主键
	Msg        string    `json:"msg"`                                                              //消息的内容
	Title      string    `json:"title"`                                                            //消息的标题
	Stype      int       `json:"stype"`                                                            // 消息类型 1平台消息 2课程
	CreateTime time.Time `orm:"auto_now_add;type(timestamp);description(创建时间);" json:"createTime"` // 创建时间
	UpdateTime time.Time `orm:"auto_now;type(timestamp);description(更新时间);" json:"updateTime"`     // 更新时间
	Url        string    `json:"url"`                                                              //跳转地址
	Status     int       `json:"status"`                                                           //是否启用
	SystemId   uint64    `json:"systemId"`                                                         // 系统编号
	SystemName string    `json:"systemName"`                                                       // 系统名称`
}

func (u *MessageSystem) TableName() string {
	return "xk_msg_system"
}

/**
 * @desc 系统消息
 * @author feige
 * @date 2023-11-15
 * @version 1.0
 */
type MessagePoint struct {
	Id              int       `orm:"column(id);pk;auto;description(主键)"` // 主键
	UserId          uint64    //接受消息的用户ID
	Uuid            string    // 用户UID
	SystemId        uint64    // 系统编号
	SystemName      string    // 系统名称`
	SystemLasttime  time.Time `orm:"auto_now_add;type(datetime);description(创建时间);"` // 创建时间
	MeLasttime      time.Time `orm:"auto_now_add;type(datetime);description(创建时间);"` // 创建时间
	CourseLasttime  time.Time `orm:"auto_now_add;type(datetime);description(更新时间);"` // 更新时间
	CommentLasttime time.Time `orm:"auto_now_add;type(datetime);description(更新时间);"` // 更新时间
	BbsLasttime     time.Time `orm:"auto_now_add;type(datetime);description(更新时间);"` // 更新时间
	FollowLasttime  time.Time `orm:"auto_now_add;type(datetime);description(更新时间);"` // 更新时间

}

func (u *MessagePoint) TableName() string {
	return "xk_msg_point"
}
